package com.erp.erp_entitys.money.rsp;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

/**
 * @ClassName : ProfitStatisticsRsp
 * @Description : FQ利润率统计出参实体
 * @Author : lst
 * @Date: 2021-05-18 04:26
 */
public class ProfitStatisticsRsp implements Serializable {
    private static final long serialVersionUID = -2407660680335631536L;

    /**
     * 制单公司
     */
    private String companyName;

    /**
     * 发票号
     */
    private String invoiceNo;

    /**
     * 发票日期
     */
    private Date invoiceDate;

    /**
     * 外销合同号
     */
    private String contractNo;

    /**
     * 批次
     */
    private String letNo;

    /**
     * 出运日期
     */
    private Date carryDate;

    /**
     * 制单日期
     */
    private Date createTime;

    /**
     * 业务员
     */
    private String salesman;

    /**
     * 客户名称
     */
    private String customerName;

    /**
     * 价格术语
     */
    private String priceTerm;

    /**
     * 业务模式
     */
    private String businessModeName;

    /**
     * 发票金额
     */
    private BigDecimal invoiceMoney;

    /**
     * 币种
     */
    private String moneyKind;

    /**
     * 人民币汇率
     */
    private BigDecimal rmbRate;

    /**
     * 美金汇率
     */
    private BigDecimal usdRate;

    /**
     * 产品金额小计
     */
    private BigDecimal productTotalPrice;

    /**
     * 应收结汇费用
     */
    private BigDecimal costMoney;

    /**
     * 应收费用备注
     */
    private String costDesc;

    /**
     * 实收货款
     */
    private BigDecimal collectionAmount;

    /**
     * 实收货款(USD)
     */
    private BigDecimal collectionAmountUsd;

    /**
     * 实收折人民币
     */
    private BigDecimal collectionAmountRmb;

    /**
     * 银行扣费
     */
    private BigDecimal foreignBankDeductions;

    /**
     * 银行扣费(USD)
     */
    private BigDecimal foreignBankDeductionsUsd;

    /**
     * 银行扣费折人民币
     */
    private BigDecimal foreignBankDeductionsRmb;

    /**
     * 认领业务员
     */
    private String claimSalesman;

    /**
     * 应付货款
     */
    private BigDecimal costSubtotalSum;

    /**
     * 已付货款
     */
    private BigDecimal actuallyAmount;

    /**
     * 已付费用
     */
    private BigDecimal applicationAmountCost;

    /**
     * 费用小计(USD)
     */
    private BigDecimal applicationAmountUSD;

    /**
     * 费用小计(RMB)
     */
    private BigDecimal applicationAmountRMB;

    /**
     * 费用合计(RMB)
     */
    private BigDecimal applicationAmountSUM;

    /**
     * 已开票金额
     */
    private BigDecimal openedAmount;

    /**
     *  海运费
     */
    private BigDecimal transferCostSum;

    /**
     *  关税
     */
    private BigDecimal tariffSum;

    /**
     *  美国仓储操作费
     */
    private BigDecimal storageOperationFee;

    /**
     *  海外仓储费用
     */
    private BigDecimal warehouseFee;

    /**
     *  佣金
     */
    private BigDecimal commission;

    /**
     *  货运代理费
     */
    private BigDecimal freightForwardingFee;

    /**
     *  其他相关费用
     */
    private BigDecimal otherFee;

    /**
     *  实际退税金额
     */
    private BigDecimal actualTaxRefund;

    /**
     *  理论退税金
     */
    private BigDecimal theoreticalTaxRefund;


    public BigDecimal getApplicationAmountSUM() {
        return applicationAmountSUM;
    }

    public void setApplicationAmountSUM(BigDecimal applicationAmountSUM) {
        this.applicationAmountSUM = applicationAmountSUM;
    }

    public BigDecimal getApplicationAmountCost() {
        return applicationAmountCost;
    }

    public void setApplicationAmountCost(BigDecimal applicationAmountCost) {
        this.applicationAmountCost = applicationAmountCost;
    }


    public BigDecimal getApplicationAmountUSD() {
        return applicationAmountUSD;
    }

    public void setApplicationAmountUSD(BigDecimal applicationAmountUSD) {
        this.applicationAmountUSD = applicationAmountUSD;
    }

    public BigDecimal getApplicationAmountRMB() {
        return applicationAmountRMB;
    }

    public void setApplicationAmountRMB(BigDecimal applicationAmountRMB) {
        this.applicationAmountRMB = applicationAmountRMB;
    }

    public BigDecimal getOpenedAmount() {
        return openedAmount;
    }

    public void setOpenedAmount(BigDecimal openedAmount) {
        this.openedAmount = openedAmount;
    }

    public BigDecimal getTransferCostSum() {
        return transferCostSum;
    }

    public void setTransferCostSum(BigDecimal transferCostSum) {
        this.transferCostSum = transferCostSum;
    }

    public BigDecimal getTariffSum() {
        return tariffSum;
    }

    public void setTariffSum(BigDecimal tariffSum) {
        this.tariffSum = tariffSum;
    }

    public BigDecimal getStorageOperationFee() {
        return storageOperationFee;
    }

    public void setStorageOperationFee(BigDecimal storageOperationFee) {
        this.storageOperationFee = storageOperationFee;
    }

    public BigDecimal getWarehouseFee() {
        return warehouseFee;
    }

    public void setWarehouseFee(BigDecimal warehouseFee) {
        this.warehouseFee = warehouseFee;
    }

    public BigDecimal getCommission() {
        return commission;
    }

    public void setCommission(BigDecimal commission) {
        this.commission = commission;
    }

    public BigDecimal getFreightForwardingFee() {
        return freightForwardingFee;
    }

    public void setFreightForwardingFee(BigDecimal freightForwardingFee) {
        this.freightForwardingFee = freightForwardingFee;
    }

    public BigDecimal getOtherFee() {
        return otherFee;
    }

    public void setOtherFee(BigDecimal otherFee) {
        this.otherFee = otherFee;
    }

    public BigDecimal getActualTaxRefund() {
        return actualTaxRefund;
    }

    public void setActualTaxRefund(BigDecimal actualTaxRefund) {
        this.actualTaxRefund = actualTaxRefund;
    }

    public BigDecimal getTheoreticalTaxRefund() {
        return theoreticalTaxRefund;
    }

    public void setTheoreticalTaxRefund(BigDecimal theoreticalTaxRefund) {
        this.theoreticalTaxRefund = theoreticalTaxRefund;
    }

    public BigDecimal getCollectionAmount() {
        return collectionAmount;
    }

    public void setCollectionAmount(BigDecimal collectionAmount) {
        this.collectionAmount = collectionAmount;
    }

    public BigDecimal getForeignBankDeductions() {
        return foreignBankDeductions;
    }

    public void setForeignBankDeductions(BigDecimal foreignBankDeductions) {
        this.foreignBankDeductions = foreignBankDeductions;
    }

    public BigDecimal getCostSubtotalSum() {
        return costSubtotalSum;
    }

    public void setCostSubtotalSum(BigDecimal costSubtotalSum) {
        this.costSubtotalSum = costSubtotalSum;
    }

    public BigDecimal getActuallyAmount() {
        return actuallyAmount;
    }

    public void setActuallyAmount(BigDecimal actuallyAmount) {
        this.actuallyAmount = actuallyAmount;
    }

    public String getCompanyName() {
        return companyName;
    }

    public void setCompanyName(String companyName) {
        this.companyName = companyName;
    }

    public String getInvoiceNo() {
        return invoiceNo;
    }

    public void setInvoiceNo(String invoiceNo) {
        this.invoiceNo = invoiceNo;
    }

    public Date getInvoiceDate() {
        return invoiceDate;
    }

    public void setInvoiceDate(Date invoiceDate) {
        this.invoiceDate = invoiceDate;
    }

    public String getContractNo() {
        return contractNo;
    }

    public void setContractNo(String contractNo) {
        this.contractNo = contractNo;
    }

    public String getLetNo() {
        return letNo;
    }

    public void setLetNo(String letNo) {
        this.letNo = letNo;
    }

    public Date getCarryDate() {
        return carryDate;
    }

    public void setCarryDate(Date carryDate) {
        this.carryDate = carryDate;
    }

    public Date getCreateTime() {
        return createTime;
    }

    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    public String getSalesman() {
        return salesman;
    }

    public void setSalesman(String salesman) {
        this.salesman = salesman;
    }

    public String getCustomerName() {
        return customerName;
    }

    public void setCustomerName(String customerName) {
        this.customerName = customerName;
    }

    public String getPriceTerm() {
        return priceTerm;
    }

    public void setPriceTerm(String priceTerm) {
        this.priceTerm = priceTerm;
    }

    public String getBusinessModeName() {
        return businessModeName;
    }

    public void setBusinessModeName(String businessModeName) {
        this.businessModeName = businessModeName;
    }

    public BigDecimal getInvoiceMoney() {
        return invoiceMoney;
    }

    public void setInvoiceMoney(BigDecimal invoiceMoney) {
        this.invoiceMoney = invoiceMoney;
    }

    public String getMoneyKind() {
        return moneyKind;
    }

    public void setMoneyKind(String moneyKind) {
        this.moneyKind = moneyKind;
    }

    public BigDecimal getRmbRate() {
        return rmbRate;
    }

    public void setRmbRate(BigDecimal rmbRate) {
        this.rmbRate = rmbRate;
    }

    public BigDecimal getUsdRate() {
        return usdRate;
    }

    public void setUsdRate(BigDecimal usdRate) {
        this.usdRate = usdRate;
    }

    public BigDecimal getProductTotalPrice() {
        return productTotalPrice;
    }

    public void setProductTotalPrice(BigDecimal productTotalPrice) {
        this.productTotalPrice = productTotalPrice;
    }

    public BigDecimal getCostMoney() {
        return costMoney;
    }

    public void setCostMoney(BigDecimal costMoney) {
        this.costMoney = costMoney;
    }

    public String getCostDesc() {
        return costDesc;
    }

    public void setCostDesc(String costDesc) {
        this.costDesc = costDesc;
    }

    public BigDecimal getCollectionAmountUsd() {
        return collectionAmountUsd;
    }

    public void setCollectionAmountUsd(BigDecimal collectionAmountUsd) {
        this.collectionAmountUsd = collectionAmountUsd;
    }

    public BigDecimal getCollectionAmountRmb() {
        return collectionAmountRmb;
    }

    public void setCollectionAmountRmb(BigDecimal collectionAmountRmb) {
        this.collectionAmountRmb = collectionAmountRmb;
    }

    public BigDecimal getForeignBankDeductionsUsd() {
        return foreignBankDeductionsUsd;
    }

    public void setForeignBankDeductionsUsd(BigDecimal foreignBankDeductionsUsd) {
        this.foreignBankDeductionsUsd = foreignBankDeductionsUsd;
    }

    public BigDecimal getForeignBankDeductionsRmb() {
        return foreignBankDeductionsRmb;
    }

    public void setForeignBankDeductionsRmb(BigDecimal foreignBankDeductionsRmb) {
        this.foreignBankDeductionsRmb = foreignBankDeductionsRmb;
    }

    public String getClaimSalesman() {
        return claimSalesman;
    }

    public void setClaimSalesman(String claimSalesman) {
        this.claimSalesman = claimSalesman;
    }


    /**
     * 重写toString
     */
    @Override
    public String toString() {
        final StringBuilder sb = new StringBuilder("ProfitStatisticsRsp").append('[')
                .append("companyName=")
                .append(companyName)
                .append(",invoiceNo=")
                .append(invoiceNo)
                .append(",invoiceDate=")
                .append(invoiceDate)
                .append(",contractNo=")
                .append(contractNo)
                .append(",letNo=")
                .append(letNo)
                .append(",carryDate=")
                .append(carryDate)
                .append(",createTime=")
                .append(createTime)
                .append(",salesman=")
                .append(salesman)
                .append(",customerName=")
                .append(customerName)
                .append(",priceTerm=")
                .append(priceTerm)
                .append(",businessModeName=")
                .append(businessModeName)
                .append(",invoiceMoney=")
                .append(invoiceMoney)
                .append(",moneyKind=")
                .append(moneyKind)
                .append(",rmbRate=")
                .append(rmbRate)
                .append(",usdRate=")
                .append(usdRate)
                .append(",productTotalPrice=")
                .append(productTotalPrice)
                .append(",costMoney=")
                .append(costMoney)
                .append(",costDesc=")
                .append(costDesc)
                .append(",collectionAmount=")
                .append(collectionAmount)
                .append(",collectionAmountUsd=")
                .append(collectionAmountUsd)
                .append(",collectionAmountRmb=")
                .append(collectionAmountRmb)
                .append(",foreignBankDeductions=")
                .append(foreignBankDeductions)
                .append(",foreignBankDeductionsUsd=")
                .append(foreignBankDeductionsUsd)
                .append(",foreignBankDeductionsRmb=")
                .append(foreignBankDeductionsRmb)
                .append(",claimSalesman=")
                .append(claimSalesman)
                .append(",costSubtotalSum=")
                .append(costSubtotalSum)
                .append(",actuallyAmount=")
                .append(actuallyAmount)
                .append(",applicationAmountCost=")
                .append(applicationAmountCost)
                .append(",applicationAmountUSD=")
                .append(applicationAmountUSD)
                .append(",applicationAmountRMB=")
                .append(applicationAmountRMB)
                .append(",applicationAmountSUM=")
                .append(applicationAmountSUM)
                .append(",openedAmount=")
                .append(openedAmount)
                .append(",transferCostSum=")
                .append(transferCostSum)
                .append(",tariffSum=")
                .append(tariffSum)
                .append(",storageOperationFee=")
                .append(storageOperationFee)
                .append(",warehouseFee=")
                .append(warehouseFee)
                .append(",commission=")
                .append(commission)
                .append(",freightForwardingFee=")
                .append(freightForwardingFee)
                .append(",otherFee=")
                .append(otherFee)
                .append(",actualTaxRefund=")
                .append(actualTaxRefund)
                .append(",theoreticalTaxRefund=")
                .append(theoreticalTaxRefund)
                .append(']');
        return sb.toString();
    }
}
